package com.data.utill;

import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.regex.Pattern;

/**
 * Created by cxj on 2017/5/5.
 */
public class StringUtils {
    /**
     * 将金额转换为金额表示法，保留两位小数
     * @param inputStr
     * @return 返回千分位表示的金额显示形式
     */
    public static String moneyFormat(String inputStr){
        if(inputStr.equals(""))
            return "";
        try {
            NumberFormat formater = NumberFormat.getInstance();
            formater.setMinimumFractionDigits(2); //保留两位小数
            return formater.format(Double.valueOf(inputStr));
        } catch (Exception e) {
            return inputStr;
        }
    }
    /**
     * 取得当前日期和时间: yyyyMMdd
     */
    public static String getYMD(){
        return new SimpleDateFormat("yyyyMMdd", Locale.getDefault()).format(new Date()).toString();
    }
    /**取得当前6位格式时间：HHmmss*/
    public static String getHMS(){
        return new SimpleDateFormat("HHmmss", Locale.getDefault()).format(new Date()).toString();
    }
    /**取得当前日期和时间: yyyyMMdd HHmmss*/
    public static String getYMDHMS(){
        return new SimpleDateFormat("yyyy/MM/dd HH:mm:ss", Locale.getDefault()).format(new Date()).toString();
    }

    /**
     * 将日期中的横线去掉
     */
    public static String cutDateStr(String date){
        if(date != null &&date.length()==10)
            return date.substring(0, 4) + date.substring(5, 7) + date.substring(8, 10);
        else
            return date;
    }
    /**
     * 将日期中间加上横线
     */
    public static String addDateStr(String date){
        if(date != null &&date.length()==8)
            return date.substring(0, 4) + "-" + date.substring(4, 6) + "-" + date.substring(6, 8);
        else
            return date;
    }
    /**
     * 将空对象转换成空字符串
     * @param s
     * @return
     */
    public static String null2String(Object s) {
        return s == null ? "" : s.toString().trim();
    }

    /**
     * 对象是否为空字符串
     * @param s
     * @return
     */
    public static boolean isNullString(Object s){
        if(null2String(s).equals(""))
            return true;
        else
            return false;
    }
    /**
     * 对象为非空字符串
     * @param s
     * @return
     */
    public static boolean isNoNullString(Object s){
        return !isNullString(s);
    }

    /**
     * 取出横线前的字符返回
     * @param str
     * @return
     */
    public static String getIdFromString(String str){
        if (str==null||str.length()<=0){
            return null;
        }
        return str.split("-")[0];
    }
    /**
     * 取出横线后的字符返回
     * @param str
     * @return
     */
    public static String getNamefromString(String str){
        if (str==null||str.length()<=0){
            return null;
        }
        return str.split("-")[1];
    }

    /**
     * 将数字转换为字符串输出
     * @param str
     * @param splitStr
     * @return
     */
    public static String ArrayToString(String[] str, String splitStr) {
        if (str.length > 0) {
            StringBuffer buff = new StringBuffer();
            for (String s : str) {
                buff.append(s);
                buff.append(",");
            }
            return buff.toString().substring(0, buff.toString().length() - 1);
        }
        else {
            return "";
        }
    }

    /**
     * 判断是否为整数
     * @param str
     * @return
     */
    public static boolean isInteger(String str) {
        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
        return pattern.matcher(str).matches();
    }


}
